@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

:: 设置要删除的域名
set "domain=localmes.jsxq.group"
set "hostsPath=%SystemRoot%\System32\drivers\etc\hosts"
set "tempHosts=%TEMP%\hosts.tmp"

:: 检查是否有管理员权限
net session >nul 2>&1
if %errorLevel% neq 0 (
    echo 需要管理员权限来修改hosts文件和刷新DNS缓存。正在尝试以管理员身份重新运行...
    powershell -Command "Start-Process -FilePath '%~dpnx0' -Verb RunAs"
    exit /b
)

:: 检查hosts文件是否存在
if not exist "%hostsPath%" (
    echo 错误: hosts文件不存在 - "%hostsPath%"
    pause
    exit /b 1
)

:: 检查hosts文件中是否存在域名
findstr /C:"%domain%" "%hostsPath%" >nul
if %errorlevel% neq 0 (
    echo Hosts文件中不存在域名 %domain% 的条目，无需删除。
) else (
    echo 正在删除hosts文件中包含 %domain% 的条目...
    
    :: 创建临时文件，排除包含指定域名的行
    > "%tempHosts%" (
        for /f "usebackq delims=" %%a in ("%hostsPath%") do (
            set "line=%%a"
            setlocal enabledelayedexpansion
            echo !line! | findstr /C:"%domain%" >nul
            if !errorlevel! neq 0 (
                echo !line!
            )
            endlocal
        )
    )
    
    :: 替换原hosts文件
    move /y "%tempHosts%" "%hostsPath%" >nul
    
    echo 已成功删除hosts文件中包含 %domain% 的条目。
)

:: 刷新DNS缓存
echo 正在刷新DNS缓存...
ipconfig /flushdns

pause